In general, for various micro-architecture platforms for SOCs, an adaptive power management technique may be utilized that dynamically characterizes workloads based on system-level events and adapts frequency and voltage in order to save power dissipation. An overall framework for embedded software-based power management may include two basic components, specifically, a performance/idle profiler and a policy manager. The profiler is responsible for probing the system, collecting statistics from a performance monitoring unit and operating system, and making the statistics available to the policy manager. The policy manager may then use these inputs and statistics in order to optimally choose a suitable system operating point (including core, bus, memory frequency, processor states and voltages) and even different power modes to save power while satisfying an application's dynamic performance needs.
Accordingly, it may be desirable to refine existing software based frameworks to reconfigure available system resources, mainly SOCs, and therefore reduce power dissipation on the fly while still guaranteeing reasonable levels of performance in an embedded system, such as, for example, cellular phones or personal digital assistants (PDAs) and other consumer electronic devices.